package com.colabo.j2ee.web.core.oldCache;

import com.opensymphony.oscache.general.GeneralCacheAdministrator;

public class CacheManager extends GeneralCacheAdministrator {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;

	public CacheManager() {
		super();
	}

	/**
	 * 根据给定关键字从缓存中移除对象
	 * @param key 缓存数据关键字
	 */
	public void removeObj(String key) {
		this.removeEntry(key);
	}

	/**
	 * 根据给定关键字从缓存中取得对象
	 * @param key 缓存数据关键字
	 * @return 缓存对象
	 */
	public Object getObj(String key) {
		Object obj = null;

		try {
			obj = this.getFromCache(key);
		} catch (Exception e) {
			this.cancelUpdate(key);
		}

		return obj;
	}

	/**
	 * 将对象放入缓存，对应的关键字为key
	 * @param key 关键字
	 * @param content 待缓存对象
	 */
	public void putObj(String key, Object content) {
		this.putInCache(key, content);
	}

	/**
	 * 将对象放入缓存，对应的关键字为key, 且将此对象配属于多个组groups
	 * @param key 关键字
	 * @param content 待缓存对象
	 * @param groups 缓存对象所在组名
	 */
	public void putGroups(String key, Object content, String[] groups) {
		this.putInCache(key, content, groups);
	}

	/**
	 * 将对象放入缓存，对应的关键字为key, 且将此对象配属于组group
	 * @param key 关键字
	 * @param content 待缓存对象
	 * @param group 缓存对象所在多个组名
	 */
	public void putGroup(String key, Object content, String group) {

		String[] groups = { group };
		this.putInCache(key, content, groups);
	}
}
